package cmd

import (
	"chigo/pkg"
	"flag" // 这是Go 标准库中的包，用于处理命令行参数。
	"fmt"  // 这是Go 标准库中的包，用于格式化输入输出。
)

func parametersAndFlags() (bool, bool, []string) {
	help := flag.Bool("help", false, "Display Help")   // 定义帮助信息的命令行参数
	helpShort := flag.Bool("h", false, "Display Help") // 定义帮助信息的命令行参数的短形式

	flag.Usage = printHelp // 自定义帮助信息
	flag.Parse()           // 解析命令行参数

	return *help || *helpShort, flag.NArg() > 0, flag.Args()
}

func printHelp() {
	fmt.Println(chigo.Colorize(fmt.Sprintf(HELP_MESSAGE, VERSION)))
}

const VERSION = "1.0.0"

const HELP_MESSAGE = `Chigo 
Concatenate FILE(s) or standard input to standard output.
When no FILE is passed read standard input.
 
 Examples:
   chigo fOne fTwo           # Output fOne and fTwo contents.
   chigo                     # Copy standard input to standard output.
   echo "My Message" | chigo # Display "My message".
   fortune | chigo           # Display a rainbow cookie.
Please input your  message  here 
`
